﻿namespace SmartAPI.SmartArchive.Dto
{
    public class BaseResultDto<T>
    {
        public string Message { get; set; }

        public string Status { get; set; }

        public BaseData<T> Data { get; set; }
    }

    public class BaseData<T>
    {
        public GeneralResult[] Result { get; set; }

        public BaseJson<T> Json { get; set; }

        public string ResultImg { get; set; }
    }

    public class BaseJson<T>
    {
        public OcrResult General_ocr_res { get; set; }

        public T[] Raw_result { get; set; }
    }

    public class OcrResult
    {
        public double[][][][] Bboxes { get; set; }
        //public object Bboxes { get; set; }
        public string[][] Texts { get; set; }
        public int Width { get; set; }
        public int Height { get; set; }
    }

    public class PointBbox
    {
        public double[][][] Position { get; set; }
    }

    public class GeneralOcrResult : OcrResult
    {
        public new PointBbox[] Bboxes { get; set; }
    }

    public class GeneralJson<T> : BaseJson<T>
    {
        public new GeneralOcrResult General_ocr_res { get; set; }
    }

    public class GeneralData<T> : BaseData<T>
    {
        public new GeneralJson<T> Json { get; set; }
    }

    public class GeneralResultDto<T> : BaseResultDto<T>
    {
        public new GeneralData<T> Data { get; set; }
    }
}
